package com.zking.ssm.sys.controller;

import com.zking.ssm.sys.model.Menu;
import com.zking.ssm.sys.service.IMenuService;
import com.zking.ssm.util.JsonData;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;


@RequestMapping("/menu")
@RestController
public class MenuController {

    @Autowired
    private IMenuService menuService;

    @ResponseBody
    @RequestMapping("/merge")
    public JsonData merge(Menu menu) {
        JsonData jsonData = new JsonData();

        if(null == menu.getMenuId()) {
            int i = menuService.insert(menu);
            if(i > 0) {
                jsonData.setCode(0);
                jsonData.setMessage("增加成功");
            }else {
                jsonData.setCode(-1);
                jsonData.setMessage("增加失败");
            }
        }else {
            int i = menuService.updateByPrimaryKeySelective(menu);
            if(i > 0) {
                jsonData.setCode(0);
                jsonData.setMessage("修改成功");
            }else {
                jsonData.setCode(-1);
                jsonData.setMessage("修改失败");
            }
        }

        return jsonData;
    }

    @ResponseBody
    @RequestMapping("/del")
    public JsonData del(Long menuId) {
        JsonData jsonData = new JsonData();

        int i = menuService.deleteByPrimaryKey(menuId);
        if(i > 0) {
            jsonData.setCode(0);
            jsonData.setMessage("删除成功");
        }else {
            jsonData.setCode(-1);
            jsonData.setMessage("删除失败");
        }

        return jsonData;
    }

    @ResponseBody
    @RequestMapping("/get")
    public JsonData get(Long menuId) {
        JsonData jsonData = new JsonData();

        Menu menu = menuService.selectByPrimaryKey(menuId);
        jsonData.setCode(0);
        jsonData.setMessage("查询成功");
        jsonData.setResult(menu);

        return jsonData;
    }

    @ResponseBody
    @RequestMapping("/list")
    public JsonData list(Menu menu) {
        JsonData jsonData = new JsonData();

        List<Menu> menuList = menuService.list(menu);

        jsonData.setCode(0);
        jsonData.setMessage("查询成功");
        jsonData.setResult(menuList);

        return jsonData;
    }

}
